package com.xiao.heap;

import java.util.ArrayList;
import java.util.List;

/**
 * java 堆内存溢出测试
 * 使用JVM参数调整堆内存大小
 * -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
 *
 * 所有的对象实例都将在堆内存中分配空间，所以只要不断的创建对象，直到没有足够的内存
 * JDK8 中使用的 Hotspot 虚拟机，按照分代回收策略中
 * 将对内存分为 新生代 和 老年代
 * 新生代 分为一个 Eden区 和两个 交换区
 *
 *
 * @CreateBy 花和尚  1130365579@qq.com  2022/11/12 11:32
 * @Version 1.0
 */
public class JvmHeapOOM {

    private static class OOMObject {
    }

    public static void main(String[] args) {
        System.out.println("进入程序");
        List<OOMObject> objects = new ArrayList<>();
        while (true) {
            objects.add(new OOMObject());
        }
    }
}
